1 package uba.db.testhelpers;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.List;
6
7 import junit.framework.Assert;
8
9 /***
10 * Esta clase contiene algunos métodos utilitarios para simplificar la escritura
11 * de tests.
12 *
13 * @version $Revision: 1.3 $
14 */
15 public final class TestUtils {
16 private TestUtils() {}
17
18 /***
19 * Asserts para verificar una implementacion de equals (tambien se hace
20 * assert sobre el hashCode).
21 *
22 * @param object
23 * una instancia
24 * @param sameObject
25 * una instancia igual a la primera
26 * @param other
27 * otra instancia distinta a las anteriores
28 */
29 public static void assertEqualsImplementation(Object object, Object sameObject,
30 Object other) {
31 Assert.assertEquals(object, sameObject);
32 Assert.assertFalse(object.equals(other));
33 Assert.assertEquals(object.hashCode(), sameObject.hashCode());
34 Assert.assertFalse(object.equals(null));
35 }
36
37 /***
38 * Muchas veces en los tests es necesario crear listas. La sintaxis de Java
39 * hace que para esta tarea haya que escribir muchisimo. Estos metodos
40 * "list" son para aliviar esta tarea.
41 *
42 * @param elem1
43 * un elemento de la lista
44 *
45 * @return una lista con el elemento elem1
46 */
47 public static List list(Object elem1) {
48 return new ListBuilder().add(elem1).build();
49 }
50
51 /***
52 * @see #list(Object)
53 */
54 public static List list(Object elem1, Object elem2) {
55 return new ListBuilder().add(elem1).add(elem2).build();
56 }
57
58 /***
59 * @see #list(Object)
60 */
61 public static List list(Object elem1, Object elem2, Object elem3) {
62 return new ListBuilder().add(elem1).add(elem2).add(elem3).build();
63 }
64
65 /***
66 * @see #list(Object)
67 */
68 public static List list(Object elem1, Object elem2, Object elem3, Object elem4) {
69 return new ListBuilder().add(elem1).add(elem2).add(elem3).add(elem4).build();
70 }
71
72 /***
73 * Retorna el directorio temporal del sistema.
74 *
75 * @throws IOException
76 * si ocurrio un error al obtener el directorio temporal
77 */
78 public static File tempDirectory() throws IOException {
79
80
81
82
83
84
85
86 File tempFile = File.createTempFile("test", ".tmp");
87 File tempDirectory = tempFile.getParentFile();
88 tempFile.delete();
89 return tempDirectory;
90 }
91 }